using System;
using System.Collections;
using System.Collections.Generic;

using QLKS.DataLayer.Base;

namespace QLKS.DataLayer.BusinessObjects
{
    public partial class PhieuThuePhong : BusinessBase<string>
    {
        #region Declarations

		private System.DateTime _ngayBatDau = new DateTime();
		private System.DateTime _ngayKetThuc = new DateTime();
		private decimal? _soNgayThue = null;
		private System.DateTime? _ngayLap = null;
		private System.DateTime? _ngayCapNhat = null;
		
		private NhanVien _nhanVien1 = null;
		private NhanVien _nhanVien2 = null;
		private Phong _phong = null;
		
		private IList<CTPhieuThuePhong> _cTPhieuThuePhongs = new List<CTPhieuThuePhong>();
		
		#endregion

        #region Constructors

        public PhieuThuePhong() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_ngayBatDau);
			sb.Append(_ngayKetThuc);
			sb.Append(_soNgayThue);
			sb.Append(_ngayLap);
			sb.Append(_ngayCapNhat);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual System.DateTime NgayBatDau
        {
            get { return _ngayBatDau; }
			set
			{
				OnNgayBatDauChanging();
				_ngayBatDau = value;
				OnNgayBatDauChanged();
			}
        }
		partial void OnNgayBatDauChanging();
		partial void OnNgayBatDauChanged();
		
		public virtual System.DateTime NgayKetThuc
        {
            get { return _ngayKetThuc; }
			set
			{
				OnNgayKetThucChanging();
				_ngayKetThuc = value;
				OnNgayKetThucChanged();
			}
        }
		partial void OnNgayKetThucChanging();
		partial void OnNgayKetThucChanged();
		
		public virtual decimal? SoNgayThue
        {
            get { return _soNgayThue; }
			set
			{
				OnSoNgayThueChanging();
				_soNgayThue = value;
				OnSoNgayThueChanged();
			}
        }
		partial void OnSoNgayThueChanging();
		partial void OnSoNgayThueChanged();
		
		public virtual System.DateTime? NgayLap
        {
            get { return _ngayLap; }
			set
			{
				OnNgayLapChanging();
				_ngayLap = value;
				OnNgayLapChanged();
			}
        }
		partial void OnNgayLapChanging();
		partial void OnNgayLapChanged();
		
		public virtual System.DateTime? NgayCapNhat
        {
            get { return _ngayCapNhat; }
			set
			{
				OnNgayCapNhatChanging();
				_ngayCapNhat = value;
				OnNgayCapNhatChanged();
			}
        }
		partial void OnNgayCapNhatChanging();
		partial void OnNgayCapNhatChanged();
		
		public virtual NhanVien NhanVien1
        {
            get { return _nhanVien1; }
			set
			{
				OnNhanVien1Changing();
				_nhanVien1 = value;
				OnNhanVien1Changed();
			}
        }
		partial void OnNhanVien1Changing();
		partial void OnNhanVien1Changed();
		
		public virtual NhanVien NhanVien2
        {
            get { return _nhanVien2; }
			set
			{
				OnNhanVien2Changing();
				_nhanVien2 = value;
				OnNhanVien2Changed();
			}
        }
		partial void OnNhanVien2Changing();
		partial void OnNhanVien2Changed();
		
		public virtual Phong Phong
        {
            get { return _phong; }
			set
			{
				OnPhongChanging();
				_phong = value;
				OnPhongChanged();
			}
        }
		partial void OnPhongChanging();
		partial void OnPhongChanged();
		
		public virtual IList<CTPhieuThuePhong> CTPhieuThuePhongs
        {
            get { return _cTPhieuThuePhongs; }
            set
			{
				OnCTPhieuThuePhongsChanging();
				_cTPhieuThuePhongs = value;
				OnCTPhieuThuePhongsChanged();
			}
        }
		partial void OnCTPhieuThuePhongsChanging();
		partial void OnCTPhieuThuePhongsChanged();
		
        #endregion
    }
}
